In Azure Resource Manager (ARM) templates, dependencies between resources can be defined in two ways: implicitly or explicitly. An implicit
dependency is set when you use the reference
function and pass in the resource name. An explicit dependency is defined when you add a
dependsOn
element. However, a code smell arises when these dependencies are used simultaneously for the same resources. This redundancy
is unnecessary and can lead to confusion. Therefore, to maintain clarity and efficiency in your code, it is best to omit explicit dependencies when
they are already defined implicitly.